package com.etl.dataflow.common.response;

/**
 * 状态码枚举类
 *
 * @author dx
 */
public enum Code {

    /**
     * 操作成功
     */
    SUCCESS(200, "成功"),

    EXECUTOR_OFFLINE(400, "执行器不在线"),
    TASK_EXISTS(401, "任务已存在，不可重复运行"),
    TASK_NOT_FOUND_CANNOT_STAT(402, "任务已结束，无法查看统计信息"),
    TASK_NOT_FOUND_CANNOT_UPDATE(403, "任务不存在，无法更新状态"),
    TASK_NOT_FOUND_CANNOT_TERMINATE(404, "任务不存在，无法终止"),
    TASK_TERMINATE_ERROR(405, "终止任务出错"),
    NO_EXECUTOR_ONLINE(406, "没有任何执行器在线"),
    NO_SUCH_INTERCEPTOR_FOUND(407, "没有找到名为%s的拦截器"),
    SRC_DATASOURCE_NOT_EXISTS(408, "源数据源不存在"),
    DST_DATASOURCE_NOT_EXISTS(409, "目标数据源不存在"),
    CANNOT_REGISTER_EXECUTOR(410, "无法注册执行器"),
    TASK_NOT_FOUND(411, "任务不存在"),
    CANNOT_DISABLE_TIMER(412, "无法关闭定时任务"),
    NO_TASK_NEED_DISABLE_TIMER(413, "全部任务定时器均已关闭"),
    CRON_EXPR_ERROR(414, "CRON表达式错误"),
    CANNOT_ENABLE_TIMER(415, "无法开启定时任务"),
    TASK_STATE_UNMODIFIABLE(416, "任务状态不可更改"),

    /**
     * 错误
     */
    ERROR(500, "错误");

    /**
     * 状态码
     */
    final int code;

    /**
     * 提示消息
     */
    final String msg;

    Code(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return this.code;
    }

    public String getMsg() {
        return this.msg;
    }
}
